Ray 是一個分散式運算框架,可以讓你的程式碼在多台機器上執行,並且可以自動管理資源的分配與調度。舉例來說,當在單一機器上執行 Ray applications,而想在其他機器上執行時,只要在程式碼中加入 ray.init(address="auto")
即可。Ray 會自動偵測其他機器的資源,並且將程式碼分配到其他機器上執行。前提是你必須先架設一個 Ray Cluster。
A Ray cluster is a set of worker nodes connected to a common Ray head node. Ray clusters can be fixed-size, or they may autoscale up and down according to the resources requested by applications running on the cluster.
以中文來說,Ray Cluster 就是一個 Ray head node 與多個 Ray worker nodes 的集合。Ray cluster 可以是固定大小的,也可以根據應用程式的需求,自動調整 worker nodes 的數量。
Reference: